package org.dbstar.scheduler.control;

import java.util.List;

import org.dbstar.scheduler.beans.User;
import org.dbstar.scheduler.control.exception.DaoException;


/**
 * 提供控制授权的接口方法
 * 
 * @author 代波
 * @since 1.0.0
 * @version 1.0.0
 * @date 2012-6-5
 */
public interface AuthorityController {
	/**
	 * 获得所有有授权信息的用户登录名
	 * 
	 * @return 有授权信息的用户的登录名的列表，若无任何匹配的用户，返回size为0的List
	 * @throws DaoException 对象操作发生未知异常时抛出
	 */
	public List<String> getAllUsers() throws DaoException;

	/**
	 * 获得一个指定用户
	 * 
	 * @param username 指定用户的登录名
	 * @return 指定的用户对象，若无任何匹配的用户，返回null。
	 * @throws DaoException 对象操作发生未知异常时抛出
	 */
	public User getUser(String username) throws DaoException;

	/**
	 * 更新用户信息
	 * 
	 * @param user 用户信息
	 * @throws DaoException 对象操作发生未知异常时抛出
	 */
	public void update(User user) throws DaoException;
}
